package com.carrental.api.pms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carrental.api.common.query.CommonQueryParam;
import com.carrental.api.pms.domain.PmsStore;
import com.carrental.api.pms.domain.bo.PmsStoreBo;
import com.carrental.api.pms.domain.vo.PmsStoreVo;


import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 梁毅
 * @since 2022-03-07 23:06:16
 */
public interface IPmsStoreService extends IService<PmsStore> {
    /**
     * 添加门店
     *
     * @param storePost 门店参数
     * @return 是否成功
     */
    Boolean create(PmsStoreBo storePost);

    /**
     * 逻辑删除
     *
     * @param id id
     * @return 是否成功
     */
    Boolean delete(Long id);

    /**
     * 修改门店信息
     *
     * @param id        id
     * @param storePost 门店参数
     * @return 是否成功
     */
    Boolean update(Long id, PmsStoreBo storePost);

    /**
     * 查看门店信息
     *
     * @param id 门店参数
     * @return 门店信息
     */
    PmsStore detail(Long id);

    /**
     * 获取列表
     *
     * @param commonQueryParam 查询参数
     * @return 分页
     */
    List<PmsStore> list(CommonQueryParam commonQueryParam);

    /**
     * 获取分页
     *
     * @param commonQueryParam 查询参数
     * @return 分页
     */
    IPage<PmsStoreVo> pageList(CommonQueryParam commonQueryParam);

    /**
     * 为门店分配管理员
     * @param storeId 门店标识
     * @param adminId 管理员标识
     * @return x
     */
    Boolean storeManagerAdd(Long storeId, Long adminId);
}
